# 第二种创建进程的语法结构
# class 子进程（process）:
#     pass
from multiprocessing import Process
import os, time


# 自定义一个类
class SubProcess(Process):
    # 编写一个初始化方法
    def __init__(self,name):
        # 调用父类中的初始化方法
        super().__init__()
        self.name = name

    # 重写父类中的run方法
    def run(self):
        print(f'获取子进程的名称{self.name},pid:{os.getpid()},父进程的pid:{os.getppid()}')
        time.sleep(1)


if __name__ == '__main__':
    print('父进程开始执行')
    lst = [] # 存放5个子进程
    for i in range(1, 6):
        p1 = SubProcess(f'进程：{i}')
        # 启动进程
        p1.start()
        lst.append(p1)

    # 阻塞主进程
    for item in lst:
        item.join()
    print('父进程执行结束')
